Add Project File Info to Diagnostics Window Output#1119
Add Project File Info to Diagnostics Window Output#1119mjbvz merged 8 commits intomicrosoft:masterfrom
Conversation
Bug For perf investigations, we would like to be able to understand what type of projects users are working with. Fix Add some basic info to the Diagnostics window. This info capture the types of tiles in a project and the average file length for each of these.
|
The diff for this PR is kind of scary looking right now because of the method extractions. Please look at #1118 first since this change builds on it. |
|
The other piece of information we probably want:
|
| using Microsoft.NodejsTools.Logging; | ||
| using Microsoft.VisualStudioTools; | ||
| using Microsoft.VisualStudioTools.Project; | ||
| using System.Collections.Generic; |
|
More generally, how did you test this change? Esp wrt perf impact - it would be a tad unfortunate for someone to have perf issues, open the diagnostics window, and then be subject to even more perf issues. |
|
Re: other info to add - node_modules would certainly be good (at the very least the info from package.json since we ask people to send us that all the time) |
|
The change was tested with a few different project types and without any NTVS project. I tested a mid sized project as well (eslint source) and there is a slight delay while getting file info, but nothing terrible since this is a user initiated action. If we upload some of this info with our telemetry, we could get away with uploading the file count ever so often, since that's just an iteration through a dictionary, but the file size / line count information is too expensive for large projects. |
| "CommandLineArguments" | ||
| }; | ||
|
|
||
| private static readonly string[] interestingFileExtensions = new[] { |
There was a problem hiding this comment.
nit: prepend with underscore
|
👍 |
This builds on #1118 to add some additional information about what a user's project looks like in the Diagnostics window.
Issue #1116
Bug
For perf investigations, we would like to be able to understand what type of projects users are working with
Fix
Add first patch of information: information about the number and type of files found in the project to the diagnostics window. Here's some example output: